﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<cctype>
#include<cstring>
#include<cstdio>
#include<string> //添加string头文件
using namespace std;
int main()
{
    string s = "hello";
    s += " world";
    cout <<"s:" << s << endl;//字符串⽤双引号，等价于s = s + " world"

    //除了+=操作，也可以使⽤'+'灵活进⾏字符串拼接
    //1.尾部拼接
    string s1 = "hello";
    cout << "s1:" << s1 + "world" << endl;
    cout << "s1:" << s1 << endl;

    s1 = s1 + "world";
    cout << "s1:" << s1 << endl;

    //2.头部拼接
    string s2 = "hello";
    s2 = "world" + s2;
    cout << "s2:" << s2 << endl;
    return 0;
}
//int main()
//{
//	//向空字符串中尾插字符
//	string s;
//	s.push_back('h');
//	s.push_back('e');
//	s.push_back('l');
//	s.push_back('l');
//	s.push_back('o');
//	cout << s << endl;
//	//向非空字符串中尾插字符
//	string s1 = "hello ";
//	s1.push_back('w');
//	s1.push_back('o');
//	s1.push_back('r');
//	s1.push_back('l');
//	s1.push_back('d');
//	cout << s1 << endl;
//
//	//批量插入字符
//	string s2;
//	for (char c = 'a'; c <= 'f'; c++)
//	{
//		s2.push_back(c);
//	}
//	cout << s2 << endl;
//	return 0;
//}
//int main()
//{
//	string str = "abcdef";
//	cout << str << endl;
//	for (auto it = str.begin(); it != str.end(); ++it)
//	{
//		*it = 'x';
//	}
//	cout << str << endl;
//	return 0;
//}
//int main()
//{
//	string s = "abcdef";
//	for (string::iterator it = s.end() - 1; it >= s.begin(); --it)
//	{
//		cout << *it << ' ';
//	}
//	return 0;
//}
//int main()
//{
//	string s = "abcdef";
//	//auto it 是让编译器自动推到it的类型
//	for (auto it = s.begin(); it != s.end(); ++it)
//	{
//		cout << *it <<' ';
//	}
//	//string::iterator 是正向迭代器类型
//	//string::iterator it，是直接创建迭代器，it是针对字符串的迭代器
//	for (string::iterator it = s.begin() ; it != s.end(); ++it)
//	{
//		cout << *it << endl;
//	}
//	return 0;
//}
//int main()
//{
//	string s = "fedbca";
//	string::iterator it1 = s.begin();
//	string::iterator it2 = s.end();
//	cout << (it1 < it2) << endl;
//	cout << it1 - it2 << endl;
//	return 0;
//}
//int main()
//{
//	string s = "abcdef";
//	int i = 0;
//	for (i = 0; i < s.size(); i++)
//	{
//		cout << s[i] << " ";
//	}
//	return 0;
//}
//int main()
//{
//    int num = 0;//num是一个空间，可以存放一个整数
//    cin >> num;//输入操作，输入的数字放在nnum
//    cout << num << endl;//输出操作，打印在屏幕
//    cout << 3 << endl;//输出的数字3
//    cout << '3' << endl;//输出的字符3
//    cout << "3" << endl;//输出的字符串3
//    return 0;
//}
//int main()
//{
//	string s;
//	string s1 = "hello";
//	string s2 = "hello world";
//	string s3 = "12ab!~          ";
//
//	cout << "s:" << s.size() << endl;
//	cout << "s1:" << s1.size() << endl;
//	cout << "s2:" << s2.size() << endl;
//	cout << "s3:" << s3.size() << endl;
//	return 0;
//}
//int main()
//{
//	string name;
//	getline(cin, name, 'q');
//	cout << name << endl;
//	return 0;
//}
//int main()
//{
//	string name;
//	getline(cin, name);
//	cout << name << endl;
//	return 0;
//}
//const int N = 1110;
//char str[N];
//int nums[128] = { 0 };
//int main()
//{
//	int i = 0;
//	int flag = 0;
//	while ((str[i] = getchar()) != '\n')
//	{
//		nums[str[i]]++;
//		i++;
//	}
//	for (int i = 0; str[i] != '\0'; i++)
//	{
//		if (nums[str[i]]==1)
//		{
//			cout << str[i] << endl;
//			flag = 1;
//			break;
//		}
//	}
//	if (flag == 0)
//	{
//		cout << "no" << endl;
//	}
//	return 0;
//}
//const int N = 1111;
//char arr[N];
//int main()
//{
//	cin >> arr;
//	int flag = 0;
//	for (int i = 0; i < strlen(arr); i++)
//	{
//		flag = 0;
//		int j = 0;
//		for (j = 0; j < strlen(arr); j++)
//		{
//			if (arr[i] == arr[j]&&i!=j)
//			{
//				flag++;
//			}
//		}
//		if (flag == 0)
//		{
//			cout << arr[i] << endl;
//			break;
//		}
//	}
//	if (flag != 0)
//	{
//		cout <<"no" << endl;
//	}
//	return 0;
//}
//const int N = 30;
//char s1[N];
//char s2[N];
//int main()
//{
//	cin >> s1;
//	cin >> s2;
//	if (strstr(s2, s1))
//	{
//		cout << s1 << " is substring of " << s2 << endl;
//	}
//	else if(strstr(s1,s2))
//	{
//		cout << s2 << " is substring of " << s1 << endl;
//	}
//	else
//	{
//		cout << "No substring" << endl;
//	}
//	return 0;
//}
//const int N = 110;
//char str[N];
//int main()
//{
//    cin >> str;
//    int len = strlen(str);
//    int i = 0;
//    while (str[i])
//    {
//        char tmp = str[i] + str[(i + 1) % len];
//        cout << tmp;
//        i++;
//    }
//    cout << endl;
//    return 0;
//}
//int main()
//{
//	cin >> s;
//	int i = 0;
//	for (i = 0; i < strlen(s); i++)
//	{
//		if (i == strlen(s) - 1)
//		{
//			//printf("%c", s[i] + s[0]);
//			cout << (char)(s[i] + s[0]) << endl;
//		}
//		else
//			//printf("%c", s[i] + s[i + 1]);
//			cout << (char)(s[i] + s[i + 1]);
//	}
//	return 0;
//}

//using namespace std;
//const int N = 510;
//char arr1[N];
//char arr2[N];
//int main()
//{
//	double a = 0.0;
//	int cnt = 0;
//	cin >> a;
//	cin >> arr1;
//	cin >> arr2;
//	for (int i = 0; arr1[i] != '\0'; i++)
//	{
//		if (arr1[i] == arr2[i])
//		{
//			cnt++;
//		}
//	}
//	if (cnt*1.0 / strlen(arr1)>=a)
//		cout << "yes" << endl;
//	else
//		cout << "no" << endl;
//	return 0;
//}
//const int N = 30;
//char arr[N];
//int main()
//{
//	int n;
//	cin >> n;
//	for (int i = 0; i < n; i++)
//	{
//		scanf("%s", arr);
//		if (islower(arr[0]))
//		{
//			arr[0]=toupper(arr[0]);
//		}
//		for (int j = 1; arr[j]!='\0'; j++)
//		{
//			if (isupper(arr[j]))
//			{
//				arr[j]=tolower(arr[j]);
//			}
//		}
//		cout << arr << endl;
//	}
//	return 0;
//}